/// title : "测试1"
/// lon : 112.573748615
/// lat : 37.8780823429
/// address : "太原市杏花岭区教场巷40号"
/// distance : "100"
/// clockType : 1
/// taskStartTime : "2024-09-26"
/// taskEndTime : "2024-09-27"
/// remark : "测试"
/// teamId : "1767369028910960672"
/// idcardList : ["140622200106059878","140431199906048018"]
/// attendanceClockingTimeList : [{"startTime":"00:00","endTime":"23:59","label":"整天"}]

class AttendanceClockingCreateDto {
  AttendanceClockingCreateDto({
      String? title, 
      num? lon, 
      num? lat, 
      String? address, 
      String? distance, 
      num? clockType, 
      String? taskStartTime, 
      String? taskEndTime, 
      String? remark, 
      String? teamId, 
      List<String>? idcardList, 
      List<AttendanceClockingTimeList>? attendanceClockingTimeList,}){
    _title = title;
    _lon = lon;
    _lat = lat;
    _address = address;
    _distance = distance;
    _clockType = clockType;
    _taskStartTime = taskStartTime;
    _taskEndTime = taskEndTime;
    _remark = remark;
    _teamId = teamId;
    _idcardList = idcardList;
    _attendanceClockingTimeList = attendanceClockingTimeList;
}

  AttendanceClockingCreateDto.fromJson(dynamic json) {
    _title = json['title'];
    _lon = json['lon'];
    _lat = json['lat'];
    _address = json['address'];
    _distance = json['distance'];
    _clockType = json['clockType'];
    _taskStartTime = json['taskStartTime'];
    _taskEndTime = json['taskEndTime'];
    _remark = json['remark'];
    _teamId = json['teamId'];
    _idcardList = json['idcardList'] != null ? json['idcardList'].cast<String>() : [];
    if (json['attendanceClockingTimeList'] != null) {
      _attendanceClockingTimeList = [];
      json['attendanceClockingTimeList'].forEach((v) {
        _attendanceClockingTimeList?.add(AttendanceClockingTimeList.fromJson(v));
      });
    }
  }
  String? _title;
  num? _lon;
  num? _lat;
  String? _address;
  String? _distance;
  num? _clockType;
  String? _taskStartTime;
  String? _taskEndTime;
  String? _remark;
  String? _teamId;
  List<String>? _idcardList;
  List<AttendanceClockingTimeList>? _attendanceClockingTimeList;
AttendanceClockingCreateDto copyWith({  String? title,
  num? lon,
  num? lat,
  String? address,
  String? distance,
  num? clockType,
  String? taskStartTime,
  String? taskEndTime,
  String? remark,
  String? teamId,
  List<String>? idcardList,
  List<AttendanceClockingTimeList>? attendanceClockingTimeList,
}) => AttendanceClockingCreateDto(  title: title ?? _title,
  lon: lon ?? _lon,
  lat: lat ?? _lat,
  address: address ?? _address,
  distance: distance ?? _distance,
  clockType: clockType ?? _clockType,
  taskStartTime: taskStartTime ?? _taskStartTime,
  taskEndTime: taskEndTime ?? _taskEndTime,
  remark: remark ?? _remark,
  teamId: teamId ?? _teamId,
  idcardList: idcardList ?? _idcardList,
  attendanceClockingTimeList: attendanceClockingTimeList ?? _attendanceClockingTimeList,
);
  String? get title => _title;
  num? get lon => _lon;
  num? get lat => _lat;
  String? get address => _address;
  String? get distance => _distance;
  num? get clockType => _clockType;
  String? get taskStartTime => _taskStartTime;
  String? get taskEndTime => _taskEndTime;
  String? get remark => _remark;
  String? get teamId => _teamId;
  List<String>? get idcardList => _idcardList;
  List<AttendanceClockingTimeList>? get attendanceClockingTimeList => _attendanceClockingTimeList;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['title'] = _title;
    map['lon'] = _lon;
    map['lat'] = _lat;
    map['address'] = _address;
    map['distance'] = _distance;
    map['clockType'] = _clockType;
    map['taskStartTime'] = _taskStartTime;
    map['taskEndTime'] = _taskEndTime;
    map['remark'] = _remark;
    map['teamId'] = _teamId;
    map['idcardList'] = _idcardList;
    if (_attendanceClockingTimeList != null) {
      map['attendanceClockingTimeList'] = _attendanceClockingTimeList?.map((v) => v.toJson()).toList();
    }
    return map;
  }

}

/// startTime : "00:00"
/// endTime : "23:59"
/// label : "整天"

class AttendanceClockingTimeList {
  AttendanceClockingTimeList({
      String? startTime, 
      String? endTime, 
      String? label,}){
    _startTime = startTime;
    _endTime = endTime;
    _label = label;
}

  AttendanceClockingTimeList.fromJson(dynamic json) {
    _startTime = json['startTime'];
    _endTime = json['endTime'];
    _label = json['label'];
  }
  String? _startTime;
  String? _endTime;
  String? _label;
AttendanceClockingTimeList copyWith({  String? startTime,
  String? endTime,
  String? label,
}) => AttendanceClockingTimeList(  startTime: startTime ?? _startTime,
  endTime: endTime ?? _endTime,
  label: label ?? _label,
);
  String? get startTime => _startTime;
  String? get endTime => _endTime;
  String? get label => _label;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['startTime'] = _startTime;
    map['endTime'] = _endTime;
    map['label'] = _label;
    return map;
  }

}